Skip to content

Conversation

@fselmo
Copy link
Contributor

@fselmo fselmo commented Dec 3, 2025

🗒️ Description

  • Refactor state tracking frames to be part of BlockEnvironment, TransactionEnvironment, and Message. This removes much of the unnecessary complexity related to parent frame tracking.
  • Remove state_changes from State functions, opt to capture changes before and after (from comments here)
  • General cleanup in spec code - Note: builder and rlp_utils have not been cleaned up here

🔗 Related Issues or PRs

#1836

✅ Checklist

  • All: Ran fast tox checks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:
    uvx tox -e static
  • All: PR title adheres to the repo standard - it will be used as the squash commit message and should start type(scope):.
  • All: Considered adding an entry to CHANGELOG.md.
  • All: Set appropriate labels for the changes (only maintainers can apply labels).

Cute Animal Picture

Screenshot 2025-12-03 at 12 48 20

@fselmo fselmo added A-spec-specs Area: Specification—The Ethereum specification itself (eg. `src/ethereum/*`) C-refactor Category: refactor labels Dec 3, 2025
@fselmo fselmo force-pushed the refactor/state-changes-and-frames branch 2 times, most recently from af5d4ef to 4569117 Compare December 3, 2025 20:15
@fselmo fselmo marked this pull request as ready for review December 3, 2025 20:51
@fselmo fselmo requested a review from gurukamath December 3, 2025 20:51
@codecov
Copy link

codecov bot commented Dec 4, 2025

Codecov Report

❌ Patch coverage is 12.70718% with 158 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (eips/amsterdam/eip-7928@54d7dc0). Learn more about missing BASE report.

Files with missing lines Patch % Lines
src/ethereum/forks/amsterdam/state_tracker.py 10.14% 62 Missing ⚠️
src/ethereum/forks/amsterdam/vm/interpreter.py 7.40% 25 Missing ⚠️
...ethereum/forks/amsterdam/vm/instructions/system.py 8.00% 23 Missing ⚠️
src/ethereum/forks/amsterdam/fork.py 0.00% 22 Missing ⚠️
...thereum/forks/amsterdam/vm/instructions/storage.py 5.88% 16 Missing ⚠️
src/ethereum/forks/amsterdam/vm/eoa_delegation.py 10.00% 9 Missing ⚠️
src/ethereum/forks/amsterdam/utils/message.py 50.00% 1 Missing ⚠️
Additional details and impacted files
@@                    Coverage Diff                     @@
##             eips/amsterdam/eip-7928    #1841   +/-   ##
==========================================================
  Coverage                           ?   82.45%           
==========================================================
  Files                              ?      797           
  Lines                              ?    47990           
  Branches                           ?     4331           
==========================================================
  Hits                               ?    39572           
  Misses                             ?     7932           
  Partials                           ?      486           
Flag Coverage Δ
unittests 82.45% <12.70%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

fselmo added a commit to fselmo/execution-specs that referenced this pull request Dec 6, 2025
@fselmo fselmo force-pushed the refactor/state-changes-and-frames branch from 2478c13 to 96aa19d Compare December 8, 2025 19:31
@fselmo fselmo merged commit 63af451 into ethereum:eips/amsterdam/eip-7928 Dec 8, 2025
10 checks passed
@fselmo fselmo deleted the refactor/state-changes-and-frames branch December 8, 2025 21:47
fselmo added a commit that referenced this pull request Dec 9, 2025
* refactor(spec-specs): Refactor state changes and their frames

* chore(spec-specs): cleanup BAL logic; organize gas check for SSTORE

* refactor(spec-specs): Changes from comments on PR #1841

* enhance: don't set defaults for state_changes
fselmo added a commit that referenced this pull request Dec 9, 2025
* refactor(spec-specs): Refactor state changes and their frames

* chore(spec-specs): cleanup BAL logic; organize gas check for SSTORE

* refactor(spec-specs): Changes from comments on PR #1841

* enhance: don't set defaults for state_changes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-spec-specs Area: Specification—The Ethereum specification itself (eg. `src/ethereum/*`) C-refactor Category: refactor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants